#include <head.h>

int main(int argc, char const *argv[])
{
	// 创建套接字
	int sock = socket(AF_INET, SOCK_STREAM, 0);
	if (-1 == sock)
	{
		ERRLOG("创建套接字失败");
		exit(-1);
	}

	// 填写信息结构体  使用IPV4网络信息结构体
	struct sockaddr_in server_addr;
	// 清空结构体
	memset(&server_addr, 0, sizeof(server_addr));
	// 确定协议 选择IPV4
	server_addr.sin_family = AF_INET;
	// 端口号
	server_addr.sin_port = htons(1234);
	// IP地址
	server_addr.sin_addr.s_addr = inet_addr("192.168.20.243");

	// 绑定
	if (-1 == bind(sock, (struct sockaddr *)&server_addr, sizeof(server_addr)))
	{
		ERRLOG("绑定出错");
		close(sock); // 关闭服务器
		exit(-1);
	}
	printf("开始监听\n");

	if (-1 == listen(sock, 1))
	{
		ERRLOG("监听失败");
		close(sock); // 关闭服务器
		exit(-1);
	}

	// accept 接收一个来自监听套接字的连接请求，创建一个新的连接套接字用于通信
	int sock_client = accept(sock, NULL, NULL);
	if (-1 == sock_client)
	{
		printf("连接失败\n");
		close(sock);
		exit(-1);
	}
	printf("连接成功\n");

	// 发送一段信息
	send(sock_client, "你好，我是服务器\n", strlen("你好，我是服务器\n"), 0);

	// 关闭连接
	close(sock);
	close(sock_client);
	return 0;
}